package com.dao;

import com.entity.PostingInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 用户发帖
 * 对帖子基础增删改查
 *
 * @author lbb
 * @version 1.0
 * @date 2020.3.1
 */
public interface PostingInfoDao {
	/**
	 * 添加帖子
	 * 用户发布帖子添加一条帖子信息
	 *
	 * @param postingInfo Entity 帖子信息
	 * @return Boolean
	 */
	Boolean addPostingInfo(PostingInfo postingInfo);
	
	/**
	 * 通过帖子ID获取到帖子内容
	 *
	 * @param id 帖子ID
	 * @return Entity PostingInfo
	 */
	PostingInfo getPostingInfoById(Integer id);



	/**
	 * 获取用户全部的帖子
	 *
	 * @param userId 用户ID
	 * @return List<PostingInfo>
	 */
	List<PostingInfo> getUserWholePostingInfo(Integer userId, @Param("pageNum") int pageNum, @Param("pageSize") int pageSize);


	/**
	 *	用户获得所有能访问的说说
	 * @param userId 用户id
	 * @return
	 */
	List<PostingInfo> getVisitPostingAll(Integer userId);

	/**
	 * 获取用户的全部帖子ID
	 *
	 * @param userId 用户ID
	 * @return List<Integer> 帖子ID集合
	 */
	List<Integer> getUserPostingInfoAllId(Integer userId);

	/**
	 * 对帖子进行修改
	 * 修改内容和图片
	 *
	 * @param postingInfo Entity 帖子信息
	 * @return Boolean
	 */
	Boolean editPostingInfo(PostingInfo postingInfo);
	
	/**
	 * 删除帖子
	 *
	 * @param id     帖子ID
	 * @param userId 用户ID
	 * @return Boolean
	 */
	Boolean delPostingInfo(Integer id, Integer userId);
	
	/**
	 * 删除用户全部帖子
	 *
	 * @param userId 用户ID
	 * @return Boolean
	 */
	Boolean delAllPostingInfo(Integer userId);
}
